/**
 * Copyright (C), 2018 store
 * Encoding: UTF-8
 * Date: 19-9-19 上午9:48
 * History:
 */
package com.swak.frame.job;

import java.util.List;
import java.util.Map;

/**
 * ClassName: RefreshableCache.java
 * 
 * @Description: 本地job
 * @author colley.ma
 * @date 2021年3月17日 上午11:02:52
 */
public interface RefreshableCache<K, V> extends RefreshConfigurable {

    /**
     * 获取数据
     * 
     * @param @return
     * @return List<V>
     */
    public abstract List<V> loadData();

    /**
     * 处理数据
     * 
     * @param @param result
     * @param @return
     * @return Map<K,V>
     */
    public abstract Map<K, V> handler(List<V> result);

    /**
     * 验证数据
     * 
     * @param @param result
     * @param @return
     * @return boolean
     */
    default public boolean isValid(List<V> result) {
        return true;
    }
}
